<?php

/*
 * 单条路由
 */
Route::set(
    array(
        'uri' => '/web/user/login/reg/username/(<username>)/password/(<password>)',
        'bind' => array('username' => '.*', 'password' => '.*'),
        'param' => array('title' => '新用户注册'),
        'module' => 'Web',
        'controller' => 'User\\Login',
        'action' => 'reg',
        'name' => 'user/login/reg',
    )
);

/*
 * 多条路由
 */
Route::set(
// 注意这里是个数组
    array(
        // 第一条
        array(
            'uri' => '/web/user/login/reg/username/(<username>)/password/(<password>)',
            'bind' => array('username' => '.*', 'password' => '.*'),
            'param' => array('title' => '新用户注册'),
            'module' => 'Web',
            'controller' => 'User\\Login',
            'action' => 'reg',
            'name' => 'user/login/reg',
            // 在进入模块并执行控制器里的活动之前执行其他操作，比如：限流
            'before' => array('\App\Web\Handle\Limit'),
        ),
        // 第二条
        array(
            'uri' => '/web/user/login/recover',
            'module' => 'Web',
            'controller' => 'User\\Login',
            'action' => 'recover',
        )
    )
);

/*
 * 分组路由和路由缓存
 */
if (!$route_web = Route::cache('web')) {
    
    $route_web = Route::group(
        array(
            'uri' => '/web/user',
            'controller' => 'User',
            'module' => 'Web',
            'name' => 'user',
            'before' => array('\App\Web\Handle\Cors'),
        ),
        array(
            array(
                'uri' => '/login/logout',
                'controller' => 'Login',
                'action' => 'logout',
                'name' => 'login/logout',
            ),
            Route::group(array('uri' => '/login', 'controller' => 'Login', 'name' => 'login'), array(
                array(
                    'uri' => '/login/(<username>)/password/(<password>)',
                    'bind' => array('username' => '.*', 'password' => '.*'),
                    'action' => 'login',
                    'name' => 'login',
                    // 在进入模块并执行控制器里的活动之前执行其他操作，比如：限流
                    'before' => array('\App\Web\Handle\Limit'),
                ),
            ))
        )
    );
    
    Route::cache('web', $route_web);
}

Route::set($route_web);

// dump(Route::get()); // 打印路由表